The project is a CodeWarrior 10 project for a 68k code resource. It would be possible to create a PPC or fat code resource but it would result in little or no improvement in speed, because the amount of 68k code is minimal and it spends most of it's time in MacOS toolbox calls.
The header file, AvaraScoreInterface.h, has a number of errors or inconsistencies, but most of them are pretty obvious and so are easy to deal with. The fact that it's the only documentation for the scorer interface is more difficult to deal with, and so I'm not sure I've done as well as is possible with it. In particular the header file is not at all clear on how to manage passing information back to Avara.
The code is wrapped in EnterCodeResource() and ExitCodeResource() calls. These are required as I'm using globals and string constants in th code, and are made available by including "A4Stuff.h", a header file supplied with CodeWarrior. If you're using another develoment environment you'll need to look up your equivalent to it.
THe code itself is pretty straighforward. For once I've managed to name variables sensibly and do proper error checking, so hopefully the code is self documenting. The code is split into two routines, with the first main() doing most of the work, while the second UpdateBuffer() updates the text bufffer before it is passed to Avara for display or written to a file.
I've used MacOS calls (rather than ANSII C calls) wherever possible as doing so results in a smaller code resource and means my code in theory takes advantage of PPC native toolbox calls on a PowerMac.
The code for recording scores, (after "case ksiScore") is as simple as possible as it may be called many times a second by Avara during game play. The rest of the main() routine, handling initialisation, updates to the Avara custom window and writing to the log file, is called a lot less often and does most of the work.
Updates to the Avara 'Custom' score panel are done by calling UpdateBuffer() and passing the updated buffer to Avara every second (60 ticks), or when requested by Avara, as long as the score has changed. As noted in the user documentation in practice updates happen a lot less frequently.
This project is made available as is. I offer no warranty as to it's fitness to any purpose, and if you decide to use it it is entirely your responsibility to get it to work in your project.